package demo04;

import java.util.ArrayList;
import java.util.Collections;

/*
 *  Collections下的sort排序方法：
 *      public static <T> void sort(List<T> list)：将集合中元素按照默认规则排序
 *  
 *  注意：
 *      sort方法的使用前提：被排序的集合中存储的元素，必须实现Comparable接口，重写接口中的方法compareTo定义排序规则
 *  
 *  Comparable接口的排序规则：
 *      升序：return 自己(this)的值 - 参数的值;
 *      降序：return 参数的值 - 自己(this)的值;
 */
public class Demo02Sort {
    public static void main(String[] args) {
        ArrayList<Person> list4 = new ArrayList<>();
        Collections.addAll(list4, new Person("土司鸡", 18), new Person("老虎", 20), new Person("粹花", 1));
        System.out.println("排序前：" + list4); // [Person [age=18, name=土司鸡], Person [age=20, name=老虎], Person [age=1,
                                            // name=粹花]]
        Collections.sort(list4); // Person类实现了Comparable接口后，重写了compareTo方法，定义了排序规则，才可进行排序
        System.out.println("排序后：" + list4); // [Person [age=1, name=粹花], Person [age=18, name=土司鸡], Person [age=20,
                                            // name=老虎]]
    }
}
